Communication systems, such as communication networks, are being increasingly used to transmit large amounts of data from point to point. For example, a local area network may be used to provide data transmission services for a small corporation, or a wide area network may be used to provide data transmission services for nationwide users.
One requirement of communication networks is to be able to transmit data from point to point for different users simultaneously. However, the network users may provide their data to the network using different data rates and encoded using different transmission protocols. For example, one data protocol that may be used is referred to as FibreChannel (FC) and has a data rate of approximately 1.0625 gigabits per second. Another protocol that may be used is referred to as Enterprise Systems Connection (ESCON) and has a data rate of approximately 200 megabits per second. Still another protocol that may be used is referred to as Gigabit Ethernet (GigE) and has a data rate of approximately 1.25 gigabits per second. Thus, given the availability and use of various transmission protocols, the problem of efficient network utilization arises.
Generally, today's communication networks are designed to transmit data at very high data rates. For example, the communication network may be a Synchronous Optical Network (SONET) that transmits data at a rate of approximately 2.5 gigabits per second. Thus, to dedicate such a high-speed network transmission path to transmit relatively low-rate data, i.e., ESCON data, would be wasteful and inefficient, since it is obvious that the network transmission path would go underutilized.
One solution to transmitting sub-rate data streams encoded with different protocols is to interpret or extract the data from its respective protocol and then re-map the extracted data within the high speed network protocol for transmission over the communication network. However, if the data is contained in high layers of its respective protocol, there is a need to have a data level processor to interpret the data protocol to retrieve the data prior to re-mapping and transmitting the data via the high speed network protocol. Furthermore, at the receiving end, it is necessary to have another processor to extract the data from the network protocol and re-encode the data back into the correct layers of its original protocol. This results in a very complex and expensive system that may have the effect of introducing large amounts of data latency.
FIG. 1 shows a portion of a typical network element 100 that receives user data for transmission over a communication network. For example, the communication network may be a wide area network that includes one hundred or more network elements interconnected to form various network transmission paths. At each network element, data signals may be added or dropped from the network, thereby allowing data signals to be added to the network at a source network element and dropped from the network at a destination network element that may be some distance away from the source. Data signals added to the network may be received at the source network element in one of several protocols, where each protocol has an associated data rate. For clarity purposes, only the transmission portion of the network element 100 is shown, however, a receive portion may exist that has corresponding functional blocks to reverse the pretransmission process.
The network element 100 includes a network protocol processor 102 that is coupled to the communication network and capable of transmitting data using a selected network protocol for high-speed transmission over the communication network. For example, the communication network may be a SONET network and the network protocol may be the OC-48 protocol.
The network element 100 is shown receiving three packet streams for transmission, where each packet stream is encoded using a different transmission protocol. For example, packet stream 1 is encoded using protocol A, packet stream 2 is encoded using protocol B, and packet stream 3 is encoded using protocol C. For example, protocol A may be the FibreChannel protocol, protocol B may be the ESCON protocol, and protocol C may be the GigE protocol.
The network element 100 includes a protocol A receiver 104, a protocol B receiver 106, and a protocol C receiver 108. The components 104, 106, and 108 are capable of receiving data encoded in the various transmission protocols for transmission over the network.
The components 104, 106, and 108 are coupled to corresponding packet interpreters 110, 112, and 114 that operate to interpret or extract data from each stream. The data output from the packet interpreters 110, 112, and 114 are coupled to the network protocol processor 102 that re-encodes the data into the high-speed network protocol for transmission over the network. The reverse of the above process is needed at each receiving network element to extract the received data from the network protocol and re-encode the data back into its original protocol.
As demonstrated above, one problem with current systems is that separate packet interpreters are used for each data protocol received. For example, the network element 100 is required to have a specific packet interpreter for each received data stream, since each stream is encoded using a different protocol. This adds complexity to the network element and limits its flexibility since the network element must be set up in advance to receive and interpret specific data stream protocols. Furthermore, this complexity and cost extends to both the transmitting and receiving network elements.
Another problem with current systems is that to interpret the packets of each protocol, data buffering may be required to temporarily store the interpreted data before or during the interpreting or re-encoding processes. The data buffering introduces data latency, since data contained in each interpreted packet now takes additional time to reach its final destination.
Therefore, it is desirable to have a system that allows data streams, encoded using different and relatively low-speed transmission protocols, to be transported over a communication network using a high-speed network protocol without having a special interpreter for each protocol and without introducing additional data latency due to delays that occur during packet interpretation and re-encoding as provided by current systems.